package modelo;

public class Juego {

	private String palabra = ""; // Atributo que sirve para almacenar la palabra a adivinar.
	private char acertadas[]; //Atributo que almacena las letras adivinadas.
	private String insertadas = ""; //Atributo para almacenar las letras introducindas por el jugador.
	private int errores;
	private int maxErrores;
	private boolean empezo = false;
	
	public Juego() {
		
	}
	
	public Juego(String palabra, int maxerrores) {
		this.palabra = palabra;
		this.errores = 0;
		this.maxErrores = maxerrores;
		
	}

	public boolean isEmpezo() {
		return empezo;
	}

	public void setEmpezo(boolean empezo) {
		this.empezo = empezo;
	}

	public int getMaxerrores() {
		return maxErrores;
	}

	public void setMaxerrores(int maxErrores) {
		this.maxErrores = maxErrores;
	}

	public String getPalabra() {
		return palabra;
	}

	public char[] getLetrasAdivinadas() {
		return acertadas;
	}

	public String getLetrasIntroducidas() {
		return insertadas;
	}

	public int getErrores() {
		return errores;
	}

	public void setPalabra(String palabra) {
		this.palabra = palabra;
	}

	public void setLetra(String cad) {//parametro hace de cad
		insertadas = insertadas + cad.charAt(0) + " ,";	
	}

	public void buscarLetra(char letra) {
		int pos = 0;
		int con = 0;
		do {
			pos = palabra.indexOf(letra, pos);
			if (pos != -1) {
				acertadas[pos] = letra;
				pos++;
				con++;
			}
		}
		while (pos != -1);
		
		
		if (con==0){
			errores++;
		}
	}

	public void inicializarPalabra() {

		acertadas = new char[palabra.length()];
		for (int i = 0; i <= palabra.length() - 1; i++) {			
			acertadas[i] = '_';
		}
	}

	public boolean isFin(){
		
		boolean res = false;
		
		String v ="";
		
		for (int i = 0; i <= palabra.length() - 1; i++) {
			
			if (acertadas[i] == '_') {				
				v = v + " ";
				
			}else
			{
				v = v + acertadas[i];
			}
		
		}
		if (palabra.trim().equals(v.trim())){
			res = true;
		}
		
		return res;
	}
	
	public boolean verificarErrores(){
	
		boolean i=false;
		
		if (errores == maxErrores){
			i=true;
		}
		
		return i;
	}
	


}
